package com.ebuy.shopping.exception;

import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.ModelAndView;

/**
 * 
 * @ClassName: CommonExceptionHandler
 * @Description: 自定义通用异常
 * @author 郭文峰
 * @date 2017年8月10日 下午3:39:50
 * 
 */
public class CommonExceptionHandler implements HandlerExceptionResolver
{

    @Override
    public ModelAndView resolveException(HttpServletRequest request,
            HttpServletResponse response, Object handler, Exception ex)
    {

        Map<String, Object> model = new HashMap<String, Object>();
        model.put("ex", ex);

        // 根据不同错误转向不同页面
        if (ex instanceof BusinessException)
        {
            return new ModelAndView("error-business", model);
        }
        else if (ex instanceof ParameterException)
        {
            return new ModelAndView("error-parameter", model);
        }
        else if (ex instanceof OtherException)
        {
            return new ModelAndView("error-parameter", model);
        }
        else
        {
            return new ModelAndView("error", model);
        }

    }

}
